﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using SGRapidForm.Common;
using SGRapidForm.Foundation.Entity;

namespace SGRapidForm.Foundation.Service.Interface
{
  [ServiceContract(Namespace = "http://www.solutiongear.net/SGRapidForm/")]
   public interface IAreaService
    {
      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      bool AddArea(AreaEntity areaDetails);
    
      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      List<AreaEntity> GetAreaAll();
     
      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      int GetAreaPageCount(String filterConditions);
     
      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      List<AreaEntity> GetAreaPage(Int32 startRecord, Int32 maxRecords, String sortColumns, String filterConditions);
     
      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      AreaEntity GetAreaByKeyid(string keyid);

      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      bool UpdateArea(AreaEntity areaEntity);
     
      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      bool DeleteArea(string keyid);

      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      List<AreaEntity> DoSelectByArea(string fieldconditions);

      [OperationContract]
      [FaultContract(typeof(ServiceExceptionDetail))]
      bool DeleteAreaAndParentkeyid(string keyid);
    }
}
